/*! 
 * Header file for a wrapper class that holds fast intersection tests.
 *
 * \author Devis Rossini
 * \date 19 March 2012
 */
#ifndef PHXINTERSECTIONS_H_INCLUDE_GUARD
#define PHXINTERSECTIONS_H_INCLUDE_GUARD

#include "PhxCollisionEnities.h"

namespace phx
{
	/*!
     * A wrapper class that holds fast intersection tests. 
	 *
	 * Intersection tests use the fastest separating axis 
	 * method to check if two objects intersect.
     */
    class IntersectionTests
    {
    public:

        static bool SphereAndSphere(
            const CollisionSphere& one,
            const CollisionSphere& two);

        static bool BoxAndBox(
            const CollisionBox& one,
            const CollisionBox& two);

		static bool SphereAndPlane(
			const CollisionSphere& sphere,
			const CollisionPlane& plane);

        static bool BoxAndPlane(
            const CollisionBox& box,
            const CollisionPlane& plane);

		// TODO: C'mon, a bit more immagination... add something!
    };
}

#endif // PHXINTERSECTIONS_H_INCLUDE_GUARD